package com.example.ibsp_demo.mapper.content;

import com.example.ibsp_demo.pojo.entity.content.Album; // 替换为实际包路径
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;

@Mapper
public interface AlbumMapper {

    // 根据主键查询
    Album selectById(Integer id);

    // 根据用户ID查询相册列表
    List<Album> selectByUid(Integer uid);

    // 查询用户的公开相册（isPublic=true）
    List<Album> selectPublicByUid(Integer uid);

    // 分页查询所有相册（支持筛选公开/私有）
    List<Album> selectByPage(Map<String, Object> params);

    // 插入相册
    int insert(Album album);

    // 更新相册信息
    int update(Album album);

    // 切换相册公开状态（单独更新isPublic）
    int updateIsPublic(Map<String, Object> params);

    // 根据主键删除
    int deleteById(Integer id);

    // 根据用户ID删除所有相册（可选，因外键已设置CASCADE）
    int deleteByUid(Integer uid);
}